home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1990: Discy Business / Discy Business.2mg / DEV.CD / GUIDED.TOURS / IIC.PLUS.TOUR / APPLE.PLAY / QUIZ (.txt) < prev    next >
Encoding:
Applesoft BASIC Source Code  |  1983-08-18  |  4.0 KB  |  102 lines  |  [FC] Applesoft BASIC Program (0x0801)

  1. 10  LET IN$ = "X": POKE 855,0:CP = 1: POKE 32,0: POKE 33,40: POKE 34,0: POKE 35,24
  2. 20  HOME :NR = 0: GOSUB 390: IF F$ < >"PRACTICE.TEXT"  THEN 40
  3. 30  GOSUB 870: GOSUB 120: GOSUB 60: GOSUB 120: GOSUB 60: GOSUB 120: GOSUB 60: GOSUB 120: POKE  -16368,0: GOSUB 260: GOSUB 120: GOSUB 60: INPUT PC: POKE PC,1: GOSUB 880: GOTO 20
  4. 40  GOSUB 870: PRINT : PRINT  CHR$(4);"READ ";F$: INPUT NS: FOR S = 1 TO NS: GOSUB 120: POKE  -16368,0: GOSUB 260: NEXT S: INPUT PC: POKE PC,1: GOSUB 880: TEXT : HOME :T = 10:B = 15:L = 1:W = 39: GOSUB 110: VTAB T +1: PRINT "You got ";NR;" out of ";NS;" correct.": IF NR/NS > = .5  THEN  PRINT "Congratulations!  You did very": PRINT "well on this section.": GOSUB 60: GOTO 20
  5. 50  PRINT "You may want to review this": PRINT "section of the disk again.": GOSUB 60: GOTO 20
  6. 60  POKE  -16368,0
  7. 70 P =  PEEK( -16384):TE = TE +1: ON P = 155 GOTO 900: ON P < >13 GOTO 80: IF TE <225  THEN 70
  8. 80  IF P = 141  THEN TE = 0: RETURN 
  9. 90 M$ = "Press RETURN": GOSUB 100: GOSUB 92: GOSUB 99: GOSUB 92: GOTO 90
  10. 92 Z = 55
  11. 93 P =  PEEK( -16384): IF P >127  THEN  POKE  -16368,0: GOTO 96
  12. 94 Z = Z -1: IF Z  THEN 93
  13. 95  RETURN 
  14. 96  IF P = 155  THEN  GOSUB 99: POP : POP : GOTO 900
  15. 97  IF P = 141  THEN  GOSUB 99: POP : GOTO 80
  16. 98  GOTO 94
  17. 99 M$ = "            "
  18. 100  VTAB B +1: HTAB (W - LEN(M$))/2 -1: PRINT M$;: RETURN 
  19. 110  POKE 34,T -2: POKE 35,B: POKE 32,L: POKE 33,W +1: HOME : FOR BD = 2 TO W -1: VTAB T -1: HTAB BD: PRINT "_";: VTAB B: HTAB BD: PRINT "_";: NEXT BD
  20. 115  FOR BD = T TO B: VTAB BD: HTAB 1: PRINT "|";: HTAB W: PRINT "|";: NEXT BD: POKE 34,T: POKE 35,B -1: POKE 32,L +2: POKE 33,W -4: HOME : HOME : RETURN 
  21. 120  PRINT : PRINT  CHR$(4);"READ ";F$:S$ = "":A$ = "":NL = 1: INPUT S$: IF S$ = "%"  THEN  GOSUB 250: INPUT T,B,L,W: GOSUB 110
  22. 130  IF S$ = "&"  THEN  FOR H = T +1 TO B -1: VTAB H: CALL  -868: NEXT H
  23. 140  CALL 813:IN$ =  MID$ (IN$,1): IF IN$ = "#"  THEN 170
  24. 150  IF NL = 1  THEN  VTAB T +1: HTAB 1
  25. 160 NL = NL +1: PRINT IN$;: GOTO 140
  26. 170  INPUT CA$: IF F$ = "PRACTICE.TEXT"  THEN 190
  27. 180  VTAB B -6: HTAB 1: PRINT "Type the letter of the correct": PRINT "answer, then press RETURN.": FOR BD = 2 TO W -5: HTAB BD: PRINT "_";: NEXT BD
  28. 190  RETURN 
  29. 200 NL = 1: PRINT : PRINT  CHR$(4);"READ ";F$
  30. 210  CALL 813:IN$ =  MID$ (IN$,1): IF IN$ = "^"  THEN 240
  31. 220  IF NL = 1  THEN  VTAB B -5: HTAB 1
  32. 230 NL = NL +1: PRINT IN$;: GOTO 210
  33. 240  GOSUB 60: RETURN 
  34. 250  POKE 32,0: POKE 33,40: POKE 34,V: POKE 35,24: HOME : RETURN 
  35. 260  PRINT  CHR$(4):CH$(1) = "":IA = 0
  36. 270 CH$ = "": VTAB B -5: HTAB 27: CALL  -868: GET CH$: IF  ASC(CH$) = 13  THEN 270
  37. 275  IF  ASC(CH$) = 27  THEN 900
  38. 280  IF  ASC(CH$) <65  OR  ASC(CH$) >68  AND  ASC(CH$) <97  OR  ASC(CH$) >100  THEN 270
  39. 290  VTAB B -5: HTAB 27: PRINT CH$
  40. 292  IF  ASC(CH$) = 97  THEN CH$ = "A"
  41. 294  IF  ASC(CH$) = 98  THEN CH$ = "B"
  42. 296  IF  ASC(CH$) = 99  THEN CH$ = "C"
  43. 298  IF  ASC(CH$) = 100  THEN CH$ = "D"
  44. 300  VTAB B -5: HTAB 28: GET RE$: IF  ASC(RE$) < >13  AND  ASC(RE$) < >8  THEN 300
  45. 310  IF  ASC(RE$) = 13  THEN 330
  46. 320  IF  ASC(RE$) = 8  THEN 270
  47. 330  IF CH$ = CH$(1)  THEN  VTAB B -2: HTAB 1: CALL  -958: PRINT "You already tried that answer.": PRINT "Please choose another answer.";: GOTO 270
  48. 340  IF CH$ = CA$  THEN NR = NR +1: GOTO 370
  49. 350 IA = IA +1: IF IA < = 1  THEN CH$(1) = CH$: VTAB B -2: HTAB 1: PRINT "Not quite.  Please try again.": GOTO 270
  50. 360  VTAB B -7: HTAB 1: CALL  -958: PRINT "The correct answer is ";CA$".": PRINT : GOSUB 200: RETURN 
  51. 370 PR$(1) = "Right you are!":PR$(2) = "Absolutely correct.":PR$(3) = "That's right.":PR$(4) = "You got it.":PR$(5) = "Exactly right!":PR$(6) = "Correct!":PR$(7) = "That's the right answer.":PR$(8) = "Very good!":PR$(9) = "Right as rain.":PR$(10) = "Wonderful answer!"
  52. 380 A =  INT( RND(1) *9) +1: VTAB B -7: HTAB 1: CALL  -958: PRINT PR$(A): GOSUB 200: RETURN 
  53. 390  TEXT : POKE 34,0: POKE 33,40: POKE  -16368,0: HOME :T$ = "Quick Quiz Menu": GOSUB 680: FOR U = 1 TO 40: PRINT "_";: NEXT U
  54. 395  PRINT : PRINT : PRINT "  1.  How to Use the Quiz": PRINT : PRINT "  2.  Quiz on Apple Presents Apple": PRINT : PRINT "  3.  Quiz on Apple at Work": PRINT : PRINT "  4.  Quiz on The Inside Story"
  55. 400  PRINT : PRINT "  5.  Quiz on Getting Down to BASIC": PRINT : PRINT "  6.  Quit":T = 0: FOR I = 0 TO 5: IF  PEEK(I +850) = 1  THEN  HTAB (1): VTAB 5 +(2 *I): PRINT "*"
  56. 410  IF  PEEK(I +850) = 1  THEN J = I +2:T = 1
  57. 420  NEXT I: IF T < >1  THEN J = 1
  58. 430  GOSUB 690: VTAB 19: PRINT : PRINT "Type a number, or select with the UP or DOWN ARROW key. Then press RETURN.": FOR U = 1 TO 40: PRINT "_";: NEXT U: PRINT : PRINT "* marks a topic you have completed";
  59. 440  VTAB 21: HTAB 35: CALL  -868: GET CH$: IF  ASC(CH$) = 13  THEN  GOTO 600
  60. 450  IF  ASC(CH$) < >10  AND  ASC(CH$) < >11  THEN 520
  61. 460  IF  ASC(CH$) = 10  THEN K = J:J = J +1
  62. 470  IF  ASC(CH$) = 11  THEN K = J:J = J -1
  63. 480  IF J = 7  THEN J = 1
  64. 490  IF J <1  THEN J = 6
  65. 500  GOSUB 780: GOSUB 690: GOTO 440
  66. 520  IF  ASC(CH$) <49  OR  ASC(CH$) >54  THEN 440
  67. 530  VTAB 21: HTAB 35: PRINT CH$:K = J:J =  ASC(CH$) -48: GOSUB 780: GOSUB 690
  68. 540  VTAB 21: HTAB 36: GET RE$: IF  ASC(RE$) = 13  THEN 600
  69. 550  IF  ASC(RE$) = 8  THEN 440
  70. 560  IF  ASC(RE$) = 10  THEN K = J:J = J +1: GOTO 480
  71. 570  IF  ASC(RE$) = 11  THEN K = J:J = J -1: GOTO 480
  72. 580  IF  ASC(RE$) <49  OR  ASC(RE$) >54  THEN 540
  73. 590 K = J:J =  ASC(RE$) -48: GOSUB 780: GOSUB 690: GOTO 440
  74. 600  HOME : VTAB 10: HTAB 12: PRINT "Please wait..."
  75. 610  ON J GOTO 620,630,640,650,660,670
  76. 620 F$ = "PRACTICE.TEXT": RETURN 
  77. 630 F$ = "Q.CH1": RETURN 
  78. 640 F$ = "Q.CH2": RETURN 
  79. 650 F$ = "Q.CH3": RETURN 
  80. 660 F$ = "Q.CH4": RETURN 
  81. 670  GOTO 890
  82. 680 H = (40 - LEN(T$))/2: HTAB H: PRINT T$: RETURN 
  83. 690  ON J GOSUB 720,730,740,750,760,770
  84. 710  VTAB 3 +(J *2): HTAB 6: PRINT T$;
  85. 720 T$ = "<HOW TO USE THE QUIZ>": RETURN 
  86. 730 T$ = "<QUIZ ON APPLE PRESENTS APPLE>": RETURN 
  87. 740 T$ = "<QUIZ ON APPLE AT WORK>": RETURN 
  88. 750 T$ = "<QUIZ ON THE INSIDE STORY>": RETURN 
  89. 760 T$ = "<QUIZ ON GETTING DOWN TO BASIC>": RETURN 
  90. 770 T$ = "<QUIT>": RETURN 
  91. 780  ON K GOSUB 810,820,830,840,850,860
  92. 800  VTAB 3 +(K *2): HTAB 6: PRINT T$;
  93. 810 T$ = " How to Use the Quiz ": RETURN 
  94. 820 T$ = " Quiz on Apple Presents Apple ": RETURN 
  95. 830 T$ = " Quiz on Apple at Work ": RETURN 
  96. 840 T$ = " Quiz on The Inside Story ": RETURN 
  97. 850 T$ = " Quiz on Getting Down to BASIC ": RETURN 
  98. 860 T$ = " Quit ": RETURN 
  99. 870  PRINT : PRINT  CHR$(4);"OPEN ";F$: RETURN 
  100. 880  PRINT : PRINT  CHR$(4);"CLOSE ";F$: RETURN 
  101. 890  POKE 32,0: POKE 33,40: POKE 34,0: POKE 35,24: GOSUB 880: PRINT : PRINT  CHR$(4);"RUN STARTUP"
  102. 900  GOSUB 880: TEXT : PRINT : PRINT  CHR$(4);"RUN QUIZ"